﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace CMS_GYM
{
    public partial class frmBangGiaCauLongVangLai : frmTemplete1
    {
        #region Thuộc tính
        private clsCongTyBUS CongTyBus = new clsCongTyBUS();
        #endregion

        public frmBangGiaCauLongVangLai()
        {
            InitializeComponent();
            uct_Save.Save.Click += new EventHandler(btn_Save_Click);
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            DongCuaSo();
        }

        #region Phím tắt
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            //Thoát 
            if (keyData == Keys.Escape)
            {
                DongCuaSo();
            }
            else if (keyData == (Keys.Control | Keys.S) && uct_Save.Enabled)
            {
                btn_Save_Click(null, null);
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

        private void DongCuaSo()
        {
            try
            {
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi kết nối cơ sở dữ liệu.", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        #endregion

        private void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                string Error=string.Empty;
                if (KiemTra(ref Error))
                {
                    DialogResult result = MessageBox.Show("Bạn có thật sự muốn Cập nhật Bảng giá cầu lông vãng lai không?", "Xác nhận thông tin", MessageBoxButtons.YesNo);
                    if (result == DialogResult.Yes)
                    {
                        CSQLServer.BeginTran();
                        if (CongTyBus.CapNhatGiaCauLongVangLaiTruoc15h((Double)Decimal.Parse(txtGiaVangLaiTruoc.Text)) != -1)
                        {

                            if (CongTyBus.CapNhatGiaCauLongVangLaiSau15h((Double)Decimal.Parse(txtGiaVangLaiSau.Text)) != -1)
                            {
                                CSQLServer.Commit();
                                MessageBox.Show("Cập nhật Bảng giá cầu lông vãng lai thành công!", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                CSQLServer.RollBack();
                                MessageBox.Show("Cập nhật Bảng giá cầu lông vãng lai không thành công. Xin vui lòng thử lại", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            CSQLServer.RollBack();
                            MessageBox.Show("Cập nhật Bảng giá cầu lông vãng lai không thành công. Xin vui lòng thử lại", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Xin vui lòng nhập: \r\n " + Error, "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception Loi)
            {
                CSQLServer.RollBack();
                MessageBox.Show("Lỗi kết nối cơ sở dữ liệu: " + Loi.Message, "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void frmBangGiaTheHinh_Load(object sender, EventArgs e)
        {
            try
            {
                lblTitle.Text = "BẢNG GIÁ CẦU LÔNG VÃNG LAI";
                Double GiaCauLongVangLaiTruoc15h = CongTyBus.GiaCauLongVangLaiTruoc15h();
                txtGiaVangLaiTruoc.Text = clsSupport.CurrencyNumber(GiaCauLongVangLaiTruoc15h.ToString());
                Double GiaCauLongVangLaiSau15h = CongTyBus.GiaCauLongVangLaiSau15h();
                txtGiaVangLaiSau.Text = clsSupport.CurrencyNumber(GiaCauLongVangLaiSau15h.ToString());
                Double GiaCauLongVangLaiCuoiTuan = CongTyBus.GiaCauLongVangLaiCuoiTuan();
                txtGiaVangLaiCuoiTuan.Text = clsSupport.CurrencyNumber(GiaCauLongVangLaiCuoiTuan.ToString());
            }
            catch (Exception Loi)
            {
                MessageBox.Show("Lỗi kết nối cơ sở dữ liệu: " + Loi.Message, "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            SetPermission();
        }

        private void SetPermission()
        {
            uct_Save.Enabled = clsUser.LayThongTinPhanQuyen("BangGiaCauLongVangLai").ChucNang.Sua;
        }

        private bool KiemTra(ref string Error)
        {
            Decimal GiaVangLaiTruoc;
            Decimal GiaVangLaiSau;
            if (!Decimal.TryParse(txtGiaVangLaiTruoc.Text, out GiaVangLaiTruoc) || GiaVangLaiTruoc <= 0)
            {
                Error = "Giá cầu lông vãng lai trước 15h phải là số và lớn hơn 0. \r\n ";
                return false;
            }
            if (!Decimal.TryParse(txtGiaVangLaiSau.Text, out GiaVangLaiSau) || GiaVangLaiSau <= 0)
            {
                Error += "Giá cầu lông vãng lai sau 15h phải là số và lớn hơn 0.  \r\n ";
                return false;
            }
            return true;
        }

    }
}